The present invention relates generally to visual recognition systems and, more particularly, to a technique for tracking objects through a series of images.
An interface to an automated information dispensing kiosk represents a computing paradigm that differs from the conventional desktop environment. That is, an interface to an automated information dispensing kiosk differs from the traditional Window, Icon, Mouse and Pointer (WIMP) interface in that such a kiosk typically must detect and communicate with one or more users in a public setting. An automated information dispensing kiosk therefore requires a public multi-user computer interface.
Prior attempts have been made to provide a public multi-user computer interface and/or the constituent elements thereof. For example, a proposed technique for sensing users is described in xe2x80x9cPfinder: Real-time Tracking of the Human Bodyxe2x80x9d, Christopher Wren, Ali Azarbayejani, Trevor Darrell, and Alex Pentland, IEEE 1996. This technique senses only a single user, and addresses only a constrained virtual world environment. Because the user is immersed in a virtual world, the context for the interaction is straight-forward, and simple vision and graphics techniques are employed. Sensing multiple users in an unconstrained real-world environment, and providing behavior-driven output in the context of that environment present more complex vision and graphics problems which are not addressed by this technique.
Another proposed technique is described in xe2x80x9cReal-time Self-calibrating Stereo Person Tracking Using 3-D Shape Estimation from Blob Featuresxe2x80x9d, Ali Azarbayejani and Alex Pentland, ICPR January 1996. The implementing system uses a self-calibrating blob stereo approach based on a Gaussian color blob model. The use of a Gaussian color blob model has a disadvantage of being inflexible. Also, the self-calibrating aspect of this system may be applicable to a desktop setting, where a single user can tolerate the delay associated with self-calibration. However, in an automated information dispensing kiosk setting, some form of advance calibration would be preferable so as to allow a system to function immediately for each new user.
Other proposed techniques have been directed toward the detection of users in video sequences. The implementing systems are generally based on the detection of some type of human motion in a sequence of video images. These systems are considered viable because very few objects move exactly the way a human does. One such system addresses the special case where people are walking parallel to the image plane of a camera. In this scenario, the distinctive pendulum-like motion of human legs can be discerned by examining selected scan-lines in a sequence of video images. Unfortunately, this approach does not generalize well to arbitrary body motions and different camera angles.
Another system uses Fourier analysis to detect periodic body motions which correspond to certain human activities (e.g., walking or swimming). A small set of these activities can be recognized when a video sequence contains several instances of distinctive periodic body motions that are associated with these activities. However, many body motions, such as hand gestures, are non-periodic, and in practice, even periodic motions may not always be visible to identify the periodicity.
Another system uses action recognition to identify specific body motions such as sitting down, waving a hand, etc. In this approach, a set of models for the actions to be recognized are stored and an image sequence is filtered using the models to identify the specific body motions. The filtered image sequence is thresholded to determine whether a specific action has occurred or not. A drawback of this system is that a stored model for each action to be recognized is required. This approach also does not generalize well to the case of detecting arbitrary human body motions.
Recently, an expectation-maximization (EM) technique has been proposed to model pixel movement using simple affine flow models. In this technique, the optical flow of images is segmented into one or more independent rigid body motion models of individual body parts. However, for the human body, movement of one body part tends to be highly dependent on the movement of other body parts. Treating the parts independently leads to a loss in detection accuracy.
The above-described proposed techniques either do not allow users to be detected in a real-world environment in an efficient and reliable manner, or do not allow users to be detected without some form of clearly defined user-related motion. These shortcomings present significant obstacles to providing a fully functional public multi-user computer interface. Accordingly, it would be desirable to overcome these shortcomings and provide a technique for allowing a public multi-user computer interface to detect users.
The primary object of the present invention is to provide a technique for tracking objects through a series of images.
The above-stated primary object, as well as other objects, features, and advantages, of the present invention will become readily apparent from the following detailed description which is to be read in conjunction with the appended drawings.
According to the present invention, a technique for tracking objects through a series of images is provided. The technique can be realized by having a processing device such as, for example, a digital computer, obtain at least first and second representations of a plurality of pixels. At least one grouping of substantially adjacent pixels has been identified in each of the first and second representations. That is, at least one grouping of pixels that are adjacent or substantially adjacent to each other has been identified in each of the first and second representations.
The processing device matches each identified grouping of substantially adjacent pixels in the first representation with an identified grouping of substantially adjacent pixels in the second representation.
The processing device can match each identified grouping of substantially adjacent pixels in the representation with an identified grouping of substantially adjacent pixels in the second representation by calculating a score between each identified grouping of substantially adjacent pixels in the first representation and each identified grouping of substantially adjacent pixels in the second representation.
The score can be calculated based upon a size comparison of each identified grouping of substantially adjacent pixels in the first representation and each identified grouping of substantially adjacent pixels in the second representation. The score can also be calculated based upon a location comparison of each identified grouping of substantially adjacent pixels within the first representation and each identified grouping of substantially adjacent pixels within the second representation. The score can further be calculated based upon an aspect ratio comparison of each identified grouping of substantially adjacent pixels in the first representation and each identified grouping of substantially adjacent pixels in the second representation. The score can still further be calculated based upon a texture comparison of each identified grouping of substantially adjacent pixels in the first representation and each identified grouping of substantially adjacent pixels in the second representation. The score can still further be calculated based upon a velocity comparison of each identified grouping of substantially adjacent pixels in the first representation and each identified grouping of substantially adjacent pixels in the second representation. The score can additionally be calculated based upon a color comparison of each identified grouping of substantially adjacent pixels in the first representation and each identified grouping of substantially adjacent pixels in the second representation.
The first and the second representations can be, for example, first and second electrical representations of mask images. The first electrical representation can represent differences between a third representation of a plurality of pixels and a fourth representation of a plurality of pixels. The second representation can represent differences between a fifth representation of a plurality of pixels and the fourth representation of a plurality of pixels. The first and the second electrical representations can be stored, for example, as digital data on a tape, disk, or other memory device for manipulation by the processing device.
The third and the fifth representations can be, for example, electrical representations of images of a scene that are captured by a camera at different points in time and then digitized to form a plurality of pixels. The third and the fifth electrical representations are typically electrical representations of source images. The third and the fifth electrical representations can be stored on the same or another memory device for manipulation by the processing device.
The fourth representation can be, for example, an electrical representation of an image of a scene that is captured by a camera at another point in time and then digitized to form a plurality of pixels. The fourth representation is typically an electrical representation of a background image. The fourth electrical representation can be stored on the same or another memory device for manipulation by the processing device.
Thus, the first and the second representations typically represent differences in a scene at a first point in time as compared to the scene at a second point in time.
If the score is calculated based upon a color comparison, the processing device can color sample pixel areas in the third and the fifth representations corresponding to pixel areas in each identified grouping of substantially adjacent pixels in the first and the second representations. For example, the processing device can color sample pixel areas in a predefined pattern in the third and the fifth representations. The processing device can then average the color sampled pixel areas by, for example, averaging together the color values of all of the pixels within each pixel area. The processing device can then compare the averaged color sampled pixel areas by, for example, comparing corresponding averaged color sampled pixel areas. The processing device can then combine a subset of all of the compared averaged color sampled pixel areas to provide a measure of color accuracy. For example, the compared averaged color sampled pixel areas having the best color matches can be combined to provide a measure of color accuracy.
After a score is calculated between each identified grouping of substantially adjacent pixels in the first representation and each identified grouping of substantially adjacent pixels in the second representation, the processing device can compare each score to a threshold value. The threshold value can be, for example, a preselected threshold value against which each score is compared.
The processing device can also list each score between each identified grouping of substantially adjacent pixels in the first representation and each identified grouping of substantially adjacent pixels in the second representation according to a score value. The processing device can then match identified groupings of substantially adjacent pixels in the first representation and identified groupings-of substantially adjacent pixels in the second representation having high score values. The processing device can then remove matched identified groupings from the listing.